home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- ################################################################
- # mk node boot script for HP9000 800 series following man scsi_pt
- #
- # This script is provided WITHOUT ANY WARRANTY.
- ################################################################
-
- PATH=/sbin:/usr/sbin:/usr/bin:.
- export PATH
-
- case $1 in
-
- start_msg)
- echo "Creating SCSI passthru (spt) driver nodes"
- ;;
-
- stop_msg)
- echo "Removing SCSI passthru (spt) driver nodes"
- ;;
-
- start)
-
- hpser=`uname -m | awk -F / '{print substr($2, 1, 1);}'`
- if [ $hpser -ne "8" ]; then
- echo "spt driver only needed on HP 9000/800 series."
- exit 0
- fi
-
- #mknod="echo mknod"
- #mkdir="echo mkdir -p"
- #chmod="echo chmod"
-
- mknod="/usr/sbin/mknod"
- mkdir="mkdir -p"
- chmod="chmod"
-
- sptlist="/tmp/spt.$$"
- echo "Searching SCSI passthru drivers (spt) ..."
- ioscan -kf -d spt | sed '1,2d' | awk '{print $3;}' > $sptlist
- nctl=`wc -l < $sptlist`
- echo "... found $nctl"
-
- if [ ! -s $sptlist ]; then
- rm -f $sptlist
- exit 0
- fi
-
- scsi=/dev/scsi
- ${mkdir} ${scsi}
-
- rscsi=/dev/rscsi
- ${mkdir} ${rscsi}
-
- cmajor=`lsdev -h -d spt | awk '{print $1;}'`
-
- for line in `cat $sptlist`
- do
- ctl=`echo $line | awk -F . '{print $1;}'`
- bus=`ioscan -f -k -H $ctl -C ext_bus | sed '1,2d' | awk '{print $2;}'`
- tgt=`echo $line | awk -F . '{print $2;}'`
- hextgt=`printf "%x" $tgt`
-
- # make first scsi nodes
- name="${scsi}/c${bus}t${tgt}l0"
- echo "Creating $name"
- ${mknod} $name c $cmajor 0x${bus}${hextgt}000 > /dev/null 2>&1
- ${chmod} 0600 $name > /dev/null 2>&1
-
- # then rscsi nodes
- rname="${rscsi}/c${bus}t${tgt}l0"
- echo "Creating $rname"
- ${mknod} $rname c $cmajor 0x${bus}${hextgt}020 > /dev/null 2>&1
- ${chmod} 0600 $rname > /dev/null 2>&1
- done
-
- rm -f $sptlist
- exit 0
-
- ;;
-
- stop)
- ;;
-
- *)
- echo usage: $0 "{start|stop}"
- ;;
- esac
-
- exit 0
-
-